* window's menus would be constructed from a combination of two action
* groups.
*
- * <para id="Action-Accel">
+ * ## Accelerators ## {#Action-Accel}
+ *
* Accelerators are handled by the GTK+ accelerator map. All actions are
* assigned an accelerator path (which normally has the form
* <literal><Actions>/group-name/action-name</literal>)
* and toolitems take on this accelerator path. The GTK+ accelerator map
* code makes sure that the correct shortcut is displayed next to the menu
* item.
- * </para>
*
- * <refsect2 id="GtkActionGroup-BUILDER-UI">
- * <title>GtkActionGroup as GtkBuildable</title>
- * <para>
+ * # GtkActionGroup as GtkBuildable # {#GtkActionGroup-BUILDER-UI}
+ *
* The #GtkActionGroup implementation of the #GtkBuildable interface accepts
* #GtkAction objects as <child> elements in UI definitions.
*
* modifiers and allows to specify accelerators. This is similar to the
* <accelerator> element of #GtkWidget, the main difference is that
* it doesn't allow you to specify a signal.
- * </para>
- * <example>
- * <title>A #GtkDialog UI definition fragment.</title>
+ *
+ * ## A #GtkDialog UI definition fragment. ##
* |[
* <object class="GtkActionGroup" id="actiongroup">
* <child>
* </child>
* </object>
* ]|
- * </example>
- * </refsect2>
+ *
*/
#include "config.h"
* through its action, as they are responsible for activating their
* related actions.
*
- * <refsect2>
- * <title>Implementing GtkActivatable</title>
- * <para>
+ * # Implementing GtkActivatable
+ *
* When extending a class that is already #GtkActivatable; it is only
* necessary to implement the #GtkActivatable->sync_action_properties()
* and #GtkActivatable->update() methods and chain up to the parent
* the action pointer and boolean flag on your instance, and calling
* gtk_activatable_do_set_related_action() and
* gtk_activatable_sync_action_properties() at the appropriate times.
- * </para>
- * <example>
- * <title>A class fragment implementing #GtkActivatable</title>
+ *
+ * ## A class fragment implementing #GtkActivatable
+ *
* |[<!-- language="C" -->
*
* enum {
* foo_bar_set_label (button, gtk_action_get_label (action));
*
* ...
- * }]|
- * </example>
- * </refsect2>
+ * }
+ * ]|
*/
#include "config.h"
* one or more UI definitions, which reference actions from one or more
* action groups.
*
- * <refsect2 id="XML-UI">
- * <title>UI Definitions</title>
- * <para>
+ * # UI Definitions # {#XML-UI}
+ *
* The UI definitions are specified in an XML format which can be
* roughly described by the following DTD.
*
* <!ATTLIST accelerator name #IMPLIED
* action #REQUIRED >
* ]|
+ *
* There are some additional restrictions beyond those specified in the
* DTD, e.g. every toolitem must have a toolbar in its anchestry and
* every menuitem must have a menubar or popup in its anchestry. Since
* enclosed in doublequotes, thus they must not '"' characters or references
* to the " entity.
*
- * <example>
- * <title>A UI definition</title>
+ * ## A UI definition ##
+ *
* |[
* <ui>
* <menubar>
* </toolbar>
* </ui>
* ]|
- * </example>
*
* The constructed widget hierarchy is very similar to the element tree
* of the XML, with the exception that placeholders are merged into their
* parents. The correspondence of XML elements to widgets should be
* almost obvious:
+ *
* <variablelist>
* <varlistentry>
* <term>menubar</term>
* The "position" attribute determines where a constructed widget is positioned
* wrt. to its siblings in the partially constructed tree. If it is
* "top", the widget is prepended, otherwise it is appended.
- * </para>
- * </refsect2>
- * <refsect2 id="UI-Merging">
- * <title>UI Merging</title>
- * <para>
+ *
+ * # UI Merging # {#UI-Merging}
+ *
* The most remarkable feature of #GtkUIManager is that it can overlay a set
* of menuitems and toolitems over another one, and demerge them later.
*
* has the path <literal>/ui/menubar/JustifyMenu/Left</literal> and the
* toolitem with the same name has path
* <literal>/ui/toolbar1/JustifyToolItems/Left</literal>.
- * </para>
- * </refsect2>
- * <refsect2>
- * <title>Accelerators</title>
- * <para>
+ *
+ * # Accelerators #
+ *
* Every action has an accelerator path. Accelerators are installed together with
* menuitem proxies, but they can also be explicitly added with <accelerator>
* elements in the UI definition. This makes it possible to have accelerators for
* actions even if they have no visible proxies.
- * </para>
- * </refsect2>
- * <refsect2 id="Smart-Separators">
- * <title>Smart Separators</title>
- * <para>
+ *
+ * # Smart Separators # {#Smart-Separators}
+ *
* The separators created by #GtkUIManager are "smart", i.e. they do not show up
* in the UI unless they end up between two visible menu or tool items. Separators
* which are located at the very beginning or end of the menu or toolbar
* For separators in toolbars, you can set <literal>expand="true"</literal> to
* turn them from a small, visible separator to an expanding, invisible one.
* Toolitems following an expanding separator are effectively right-aligned.
- * </para>
- * </refsect2>
- * <refsect2>
- * <title>Empty Menus</title>
- * <para>
+ *
+ * # Empty Menus
+ *
* Submenus pose similar problems to separators inconnection with merging. It is
* impossible to know in advance whether they will end up empty after merging.
* #GtkUIManager offers two ways to treat empty submenus:
+ *
* <itemizedlist>
* <listitem>
* <para>make them disappear by hiding the menu item they're attached to</para>
* <para>add an insensitive "Empty" item</para>
* </listitem>
* </itemizedlist>
+ *
* The behaviour is chosen based on the "hide_if_empty" property of the action
* to which the submenu is associated.
- * </para>
- * </refsect2>
- * <refsect2 id="GtkUIManager-BUILDER-UI">
- * <title>GtkUIManager as GtkBuildable</title>
- * <para>
+ *
+ * # GtkUIManager as GtkBuildable # {#GtkUIManager-BUILDER-UI}
+ *
* The GtkUIManager implementation of the GtkBuildable interface accepts
* GtkActionGroup objects as <child> elements in UI definitions.
*
* other parts of the constructed user interface with the help of the
* "constructor" attribute. See the example below.
*
- * <example>
- * <title>An embedded GtkUIManager UI definition</title>
+ * ## An embedded GtkUIManager UI definition
+ *
* |[
* <object class="GtkUIManager" id="uiman">
* <child>
* </child>
* </object>
* ]|
- * </example>
- * </para>
- * </refsect2>
*/